The DSystemJ programming language for dynamic GALS systems: it’s semantics, compilation, implementation, and run-time system
نویسندگان
چکیده
The paper presents a programming language called DSystemJ, for dynamic distributed Globally Asynchronous Locally Synchronous systems (GALS), its formal model, formal syntax and semantics, its compilation and implementation. The language is aimed at dynamic distributed systems, which use socket based communication protocols for communicating between components. DSystemJ allows the creation and control at runtime of asynchronous processes called clock-domains, their mobility on a distributed execution platform, as well as the runtime reconfiguration of the system’s functionality and topology. As DSystemJ is based on a GALS model of computation and has formal semantics, it offers very safe mechanisms for implementation of dynamic distributed systems and potential for their formal verification. The principles and details of DSystemJ’s compilation, as well as its required runtime support are described. The runtime support is itself implemented in the SystemJ GALS language, which can be considered as a static subset of DSystemJ. Key-words: GALS systems, distributed programming, dynamic reconfiguration, formal model of computation, semantics, CSP, π-calculus, SystemJ, DSystemJ. ∗ INRIA Grenoble Rhône-Alpes, POP ART project team, France, [email protected] † INRIA Grenoble Rhône-Alpes, POP ART project team, France, [email protected] ‡ University of Auckland, New Zealand, [email protected] in ria -0 05 05 08 5, v er si on 1 22 J ul 2 01 0 Le langage de programmation DSystemJ pour les systèmes GALS dynamiques: sémantique, compilation, mise en œuvre et exécution Résumé : Cet article présente un nouveau langage de programmation appelé DSystemJ, destiné aux systèmes répartis dynamiques Globalement Asynchrones Localement Synchrones (GALS), ainsi que son modèle formel de calcul, sa syntaxe et sa sémantique formelle, sa compilation et sa mise en œuvre. Le langage est destiné à la conception des systèmes répartis dynamiques, qui utilisent des protocoles de communication basés sur les sockets. DSystemJ permet la création et le contrôle durant l’exécution de processus asynchrones appelés clockdomains, leur mobilité sur des plateformes d’exécution répartie, ainsi que la reconfiguration à l’exécution des fonctionnalités du système et de sa topologie. Puisque le modèle formel de calcul de DSystemJ est basé sur le modèle GALS et possède une sémantique formelle, il offre des mécanismes très sûrs pour la mise en œuvre de systèmes dynamiques répartis et le potentiel pour leur vérification formelle. Nous donnons les principes et les détails de la compilation de DSystemJ ainsi que son environnement de support à l’exécution. Cet environnement de support est lui-même mis en œuvre dans le langage GALS SystemJ, qui peut être considéré comme un sous-ensemble statique de DSystemJ. Mots-clés : systèmes GALS, programmation répartie, reconfiguration dynamique, modèle formel de calcul, sémantique, CSP, π-calcul, SystemJ, DSystemJ. in ria -0 05 05 08 5, v er si on 1 22 J ul 2 01 0 The DSystemJ programming language for dynamic GALS systems 3
منابع مشابه
SystemJ: A GALS language for system level design
In this paper we present the syntax, semantics, and compilation of a new system-level programming language called SystemJ. SystemJ is a multiclock language supporting the Globally Asynchronous Locally Synchronous (GALS) model of computation. The synchronous reactive (SR) model is used for synchronous parts of the modelled system, and those parts, which represent individual clock-domains, are co...
متن کاملDesign and implementation of assertions for the common language infrastructure
Assertions are a well established mechanism for the specification and verification of program semantics in the forms of pre-conditions, post-conditions and invariants of object and component interfaces. Traditionally, assertions are typically specific to individual programming languages. The ECMA Common Language Infrastructure (CLI) provides a shared dynamic execution environment for implementa...
متن کاملAnalysis and Optimization of CHR Programs
Introduction. Constraint Handling Rules (CHR) [2] is a high-level, powerful, yet relatively simple “no box” CLP language, embedded in a host language, commonly Prolog. It is based on multi-headed committed-choice rules. Recent implementations of CHR consist of a compiler which translates a CHR program to host language code, and a run-time system implementing the constraint store. Originally, CH...
متن کاملModeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism
In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...
متن کاملModeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism
In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...
متن کامل